package data_structure;

import java.util.Stack;

/**
 * 栈
 *
 * @author 1
 * @version 1.0
 * @description: TODO
 * @date 2025-02-21 14:17
 */
public class Demo4 {
    /**
     * 栈是一种后进先出（LIFO）的数据结构，就像一摞盘子，最后放上去的盘子最先被拿走。栈有两个基本操作：入栈（push）和出栈（pop）。栈可以用数组或链表来实现。
     *
     * 话术:
     * 栈是一种先进后出的数据结构,它常用于要遵循这种顺序处理元素的场景,比如函数调用栈,表达式求值等.
     * 栈主要有两个操作, 入栈将元素添加到栈顶,出栈将元素从栈顶移除.
     * 在java种可以使用java.util.Stack类来实现栈的功能。
     * 然后stack.push()方法用于将元素添加到栈顶，stack.pop()方法用于从栈顶移除元素。
     */
    public static void main(String[] args)
    {
        // 创建一个栈
        Stack<Integer> stack = new Stack<>();

        // 入栈操作
        stack.push(1);
        stack.push(2);
        stack.push(3);

        // 出栈操作
        while (!stack.isEmpty()) {
            System.out.println("Popped: " + stack.pop());
        }


    }
}
